package com.geline.cloud.core;

import com.geline.cloud.domain.MessageDTO;

import java.util.List;
import java.util.Map;

/**
 * 消息处理器接口，需要自定义实现
 * 作用：保存项目中的消息通知
 *
 * @author: mx
 * @date: 2024-07-27 14:20
 */
public interface MessageHandler {

    /**
     * @param type
     * @param object
     */
    default void doHandle(String type, Map<String, Object> object){
    }

    /**
     * 根据taskId查询消息参数
     * @param taskId
     */
    List<MessageDTO> getMessageDTOList(String type, String taskId);

    /**
     * 消息处理
     * @param type
     * @param taskId
     * @param taskName
     */
    void doHandle(String type, String taskId, String taskName);

    /**
     * 消息处理
     * @param type
     * @param toUserId
     * @param businessId
     * @param taskId
     */
    void doHandle(String type, Object toUserId, String businessId, String taskId);
}
